home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
language
/
elan1v5.arc
/
DEMO.ARC
/
KALEIDOS.E
< prev
next >
Wrap
Text File
|
1989-03-10
|
1KB
|
74 lines
kaleidoscope:
read a text;
clear screen;
spread text over the screen;
remove cursor.
read a text:
TEXT VAR t;
put ("Text, please: ");
get (t, 40).
clear screen:
put (ascii (1)).
spread text over the screen:
start in the middle;
WHILE there is text left
REP
snip its head off;
repeat its head symmetrically;
choose a new position
ENDREP.
start in the middle:
INT CONST midx :: 39;
INT CONST midy :: 10;
INT VAR i :: 1;
INT VAR j :: 0.
there is text left:
t <> "".
snip its head off:
TEXT CONST head :: HEAD t;
t := TAIL t.
repeat its head symmetrically:
show head in 4 orientations;
mirror position;
show head in 4 orientations;
mirror position.
show head in 4 orientations:
UPTO 4
REP
show head;
rotate left
ENDREP.
show head:
cursor (midx + i, midy + j);
put (head).
rotate left:
INT CONST oldi :: i;
i := - j;
j := oldi.
mirror position:
j := - j.
choose a new position:
j INCR 1;
IF j = i
THEN
i INCR 1;
j := 0
FI.
remove cursor:
cursor (1, 2 * midy).
⇦